package com.example.helloworld  // 替换为你的项目实际包名

import android.content.Intent
import android.os.Bundle
import android.widget.Button
import android.widget.TextView
import androidx.activity.result.contract.ActivityResultContracts
import androidx.appcompat.app.AppCompatActivity

class MainActivity : AppCompatActivity() {
    // 注册Activity2的结果回调（替代已弃用的startActivityForResult）
    private val activity2ResultLauncher = registerForActivityResult(
        ActivityResultContracts.StartActivityForResult()
    ) { result ->
        // 处理Activity2返回的结果
        if (result.resultCode == RESULT_OK) {
            val returnData = result.data?.getStringExtra("result") ?: getString(R.string.unknown)
            // 使用带占位符的字符串资源显示结果（避免文本拼接）
            val displayText = String.format(
                getString(R.string.main_return_data_format),
                returnData
            )
            findViewById<TextView>(R.id.tv_result).text = displayText
        }
    }

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        // 设置标题（使用字符串资源）
        title = getString(R.string.main_title)

        // 1. 启动Activity1（正向传递姓名和学号）
        findViewById<Button>(R.id.btn_activity1).setOnClickListener {
            val intent = Intent(this, Activity1::class.java)
            intent.putExtra("name", "孙航")  // 传递姓名参数
            intent.putExtra("studentId", "202304")  // 传递学号参数
            startActivity(intent)
        }

        // 2. 启动Activity2（等待返回数据）
        findViewById<Button>(R.id.btn_activity2).setOnClickListener {
            val intent = Intent(this, Activity2::class.java)
            activity2ResultLauncher.launch(intent)  // 启动并等待结果
        }

        // 3. 启动Activity3（相机功能）
        findViewById<Button>(R.id.btn_activity3).setOnClickListener {
            val intent = Intent(this, Activity3::class.java)
            startActivity(intent)
        }

        // 4. 启动Activity4（计时器功能）
        findViewById<Button>(R.id.btn_activity4).setOnClickListener {
            val intent = Intent(this, Activity4::class.java)
            startActivity(intent)
        }
    }
}